home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / NE100 / OEMSETUP.INF < prev   
INI File  |  1996-07-31  |  36KB  |  1,050 lines

  1. ;***********************************************************************
  2. ;
  3. ; OEMSETUP.INF
  4. ;
  5. ;       Windows NT 4.0 Driver SETUP INF file for
  6. ;
  7. ;       Microdyne NE10/100 PCI Adapter
  8. ;
  9. ;       NE100Set Version 1.4x
  10. ;       Driver Version 2.x
  11. ;       INF revision 22
  12. ;       ------------------------------------------------------
  13. ;       Modify Log:
  14. ;       ------------------------------------------------------
  15. ;       6/15/96 RGB  Modified individual sections
  16. ;                    Genericized
  17. ;                    Added new registry parameters
  18. ;                    Bug Fixes
  19. ;                    Fixed Update button
  20. ;                    Updated adapter names
  21. ;
  22. ;               INF revision 20
  23. ;               Modified by Microsoft for NT 4.0
  24. ;
  25. ;***********************************************************************
  26.  
  27. [Identification]
  28.     OptionType = NetAdapter
  29.  
  30. [PlatformsSupported]
  31. ;    ISA
  32. ;    EISA
  33. ;    MCA
  34.     PCI
  35. ;   "Jazz-Internal Bus"
  36.  
  37. [LanguagesSupported]
  38.     ENG
  39.  
  40. [Options]
  41.     NE100PCI
  42.  
  43. [OptionsTextENG]
  44.     NE100PCI = "Microdyne NE10/100 PCI Adapter"
  45.  
  46. [Files-Inf]
  47. 1, oemsetup.inf, SIZE=50000, RENAME=$(!UG_Filename)
  48.  
  49. [FileConstants]
  50. SoftwareType = "driver"
  51. NetRuleSoftwareUse       = $(SoftwareType)
  52. NetRuleHardwareBindForm  = " yes yes container"
  53.  
  54. ; OEM changes
  55. Manufacturer             = "Microdyne"
  56. ProductSoftwareName      = "NE100"
  57. ProductSoftwareTitle     = "Microdyne NE10/100 PCI Adapter Driver"
  58. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\ne100.sys"
  59. NetRuleSoftwareType      = "NE100Sys ndisDriver NE100Driver"
  60. NetRuleSoftwareBindForm  = """NE100Sys"" yes no container"
  61. NetRuleSoftwareClass     = {"NE100Driver basic"}
  62. NetRuleSoftwareBindable  = {"NE100Driver NE100Adapter non exclusive 100"}
  63. DLL                      = "NE100.DLL"
  64. Adapter                  = "Microdyne NE10/100 PCI Ethernet"
  65. Help                     = "NE100SET.HLP"
  66. DrvrName                 = "NE100"
  67. ExeName                  = "NE100SET"
  68. KddName                  = "NE100KDD"
  69. PciName                  = "NE100PCI"
  70. HelpName                 = "NE100SET"
  71. DiagName                 = "NE100DI"
  72. DiagDrvr                 = "NE100DG"
  73. MainDiag                 = "NE100"
  74. OEMSetKeyName            = $(!NTN_ServiceBase)"\NE100Set"
  75. OEMSetAdapterName        = "NE100"
  76. ProductHardwareName      = "NE100"
  77. ProductHardwareTitle     = "Microdyne NE10/100 PCI Adapter"
  78. NetRuleHardwareType      = "NE100 NE100Adapter"
  79. NetRuleHardwareClass     = {"NE100Adapter basic"}
  80. FuncTitle                = "Microdyne NE10/100 PCI Adapter Setup"
  81. ProdSoftwareDescription  = "Microdyne NE10/100 PCI Adapter Driver"
  82. ProdHardwareDescription  = "Microdyne NE10/100 PCI Adapter"
  83. MediaDesc                = "Microdyne NE10/100 PCI Driver Disk"
  84.  
  85. Configure          = "DIAG100_Configure"
  86. Detect             = "DIAG100_Detect"
  87. Diagnose           = "DIAG100_Diagnose"
  88. RegistryKey        = "DIAG100_GetRegistryKey"
  89. Summary            = "DIAG100_Resource_Summary"
  90. AdapterDescription = "DIAG100_GetAdapterDescription"
  91. InstallAnyway      = "DIAG100_InstallAnyway"
  92. DeviceExist        = "DIAG100_DeviceExist"
  93.  
  94. UtilityInf    = "UTILITY.INF"
  95. ParamInf      = "NCPARAM.INF"
  96. subroutineinf = "SUBROUTN.INF"
  97.  
  98. Exit_Code = 0
  99.  
  100. NetEventDLL = "%SystemRoot%\System32\netevent.dll"
  101. IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
  102.  
  103. ProductMajorVersion = "1"
  104. ProductMinorVersion = "0"
  105. ProductVersion      = $(ProductMajorVersion)"."$(ProductMinorVersion)
  106.  
  107. BusNumber     = "0,7,BusNumber,0,2,0,0,16,1"
  108. BusType       = "0,7,BusType,0,2,5,2,5,1"
  109. BusTypeLocal  = "0,7,BusTypeLocal,0,2,5,2,5,1"
  110. Eid           = "0,7,Eid,0,2,0,0,4294967295,1"
  111. Fifo          = "0,3,Fifo Depth,0,2,12,0,15,1"
  112. ForceDpx      = "1,4,Duplex Mode,0,1,Auto,Auto,Half,Full"
  113. MediaType     = "0,7,MediaType,0,2,1,1,1,1"
  114. MsPciScan     = "0,4,MsPciScan,0,2,1,0,1,1"
  115. NumCoalesce   = "1,7,Coalesce Buffers,0,2,8,1,32,1"
  116. NumRfd        = "1,7,Receive Buffers,0,2,16,1,128,1"
  117. NumTbd        = "0,3,Transmit Buffer Descriptors,0,2,64,1,65535,1"
  118. NumTbdPerTcb  = "0,4,Transmit Buffers per Frame,0,2,8,1,16,1"
  119. NumTcb        = "1,7,Transmit Control Blocks,0,2,16,1,80,1"
  120. Off           = "1,3,Off Timer,0,2,2,1,65535,1"
  121. On            = "1,3,On Timer,0,2,32768,1,65535,1"
  122. RxDmaCount    = "0,4,RxDmaCount,0,2,0,0,63,1"
  123. RxFifo        = "0,4,Receive Fifo Depth,0,2,8,0,15,1"
  124. Slot          = "0,3,Slot,0,2,0,0,64,1"
  125. Speed         = "1,7,Network Speed,0,4,Auto,Auto,0,10Mbps,10,100Mbps,100"
  126. Threshold     = "0,7,Transmit Threshold,0,2,16,0,200,1"
  127. TxDmaCount    = "0,4,TxDmaCount,0,2,0,0,63,1"
  128. TxFifo        = "0,4,Transmit Fifo Depth,0,2,8,0,15,1"
  129.  
  130. Ucode         = "0,4,Ucode,0,2,0,0,1,1"
  131. UnderrunRetry = "0,4,UnderrunRetry,0,2,1,0,3,1"
  132. PerfOptims    = "0,4,PerfOptims,0,2,0,0,65535,1"
  133.  
  134. UcodeSW       = "0,7,UcodeSW,0,2,1,0,1,1"
  135. Adaptive_IFS  = "0,7,Adaptive_IFS,0,2,1,0,255,1"
  136. Txmitwait     = "0,7,Txmitwait,0,2,1,0,255,1"
  137.  
  138. OEMSetParameters = "Parameters"
  139.  
  140. MCA_1BYTE   = 139
  141. MCA_2BYTE   = 98
  142. NETCARD_ID  = 25227
  143.  
  144. ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  145. ParamKeyName   = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  146.  
  147. ; OEM change
  148. [Files-NE100PCI]
  149. 1, $(DrvrName).SY_, SIZE=50000, RENAME=$(DrvrName).SYS
  150.  
  151. [Files-OEM]
  152. 1, $(ExeName).EX_,  SIZE=50000, RENAME=$(ExeName).EXE
  153. 1, $(ExeName).CP_,  SIZE=50000, RENAME=$(ExeName).CPL
  154. 1, $(DiagName).DL_, SIZE=50000, RENAME=$(DiagName).DLL
  155. 1, $(KddName).DL_,  SIZE=50000, RENAME=$(KddName).DLL
  156. 1, $(HelpName).HL_, SIZE=50000, RENAME=$(HelpName).HLP
  157. 1, $(PciName).DL_,  SIZE=50000, RENAME=$(PciName).DLL
  158. 1, $(MainDiag).DL_, SIZE=50000, RENAME=$(MainDiag).DLL
  159. 1, MFC30.DL_,       SIZE=50000, RENAME=MFC30.DLL
  160. 1, MSVCRT20.DL_,    SIZE=50000, RENAME=MSVCRT20.DLL
  161. 1, CTL3D32.DL_,     SIZE=50000, RENAME=CTL3D32.DLL
  162.  
  163. [Files-OEM-Drivers]
  164. 1, $(DiagDrvr).SY_, SIZE=50000, RENAME=$(DiagDrvr).SYS
  165. 1, $(DiagName).SY_, SIZE=50000, RENAME=$(DiagName).SYS
  166. 1, $(KddName).SY_,  SIZE=50000, RENAME=$(KddName).SYS
  167.  
  168. [ProductType]
  169. STF_PRODUCT  = Winnt
  170. STF_PLATFORM = I386
  171.  
  172. [GeneralConstants]
  173. from      = ""
  174. to        = ""
  175.  
  176. ExitCodeOk     = 0
  177. ExitCodeCancel = 1
  178. ExitCodeFatal  = 2
  179.  
  180. KeyNull = ""
  181. MAXIMUM_ALLOWED = 33554432
  182. RegistryErrorIndex = NO_ERROR
  183. KeyProduct = ""
  184. KeyParameters = ""
  185.  
  186. TRUE    = 1
  187. FALSE   = 0
  188. NoTitle = 0
  189.  
  190. ExitState   = "Active"
  191. OldVersionExisted = $(FALSE)
  192.  
  193. DriverPath = $(!STF_NTPATH)\drivers
  194.  
  195. [FileConstantsENG]
  196. ProCaption   = "Windows NT Setup"
  197. ProCancel    = "Cancel"
  198. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  199.                "Are you sure you want to cancel copying files?"
  200.  
  201. ProCancelCap = "Network Setup Message"
  202. ProText1     = "Copying:"
  203. ProText2     = "To:"
  204.  
  205. FunctionTitle = $(FuncTitle)
  206. ProductSoftwareDescription = $(ProdSoftwareDescription)
  207. ProductHardwareDescription = $(ProdHardwareDescription)
  208.  
  209. [date]
  210.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  211.  
  212. [Source Media Descriptions]
  213.     1 = $(MediaDesc)
  214.  
  215. [Signature]
  216.     FileType = MICROSOFT_DRVLIB_FILE
  217. [GetSignature]
  218.     read-syms Signature
  219.     return $(FileType)
  220.  
  221. [Identify]
  222.     read-syms Identification
  223.  
  224. ;    set !G:DebugOutputControl = 1
  225.  
  226.     set Status     = STATUS_SUCCESSFUL
  227.     set Identifier = $(OptionType)
  228.     set Media      = #("Source Media Descriptions", 1, 1)
  229.  
  230.     Return $(Status) $(Identifier) $(Media)
  231.  
  232. [ReturnOptions]
  233.     set Status         = STATUS_FAILED
  234.     set OptionList     = {}
  235.     set OptionTextList = {}
  236.  
  237.     set LanguageList = ^(LanguagesSupported, 1)
  238.     Ifcontains(i) $($0) in $(LanguageList)
  239.         ifstr(i) $($1) == ""
  240.             goto returnoptions
  241.         endif
  242.  
  243.         set PlatformList = ^(PlatformsSupported, 1)
  244.         Ifcontains(i) $($1) in $(PlatformList)
  245.             goto returnoptions
  246.         else
  247.             set Status = STATUS_NOTSUPPORTED
  248.             goto finish_ReturnOptions
  249.         endif
  250.     else
  251.         set Status = STATUS_NOLANGUAGE
  252.         goto finish_ReturnOptions
  253.     endif
  254.  
  255. returnoptions = +
  256.     set OptionList     = ^(Options, 1)
  257.     set OptionTextList = ^(OptionsText$($0), 1)
  258.     set Status         = STATUS_SUCCESSFUL
  259.  
  260. finish_ReturnOptions = +
  261.     Return $(Status) $(OptionList) $(OptionTextList)
  262.  
  263. [InstallOption]
  264. ;    set !G:DebugOutputControl = 1
  265.     set Status   = STATUS_FAILED
  266.     set Option   = $($1)
  267.     set SrcDir   = $($2)
  268.     set AddCopy  = $($3)
  269.     set DoCopy   = $($4)
  270.     set DoConfig = $($5)
  271.  
  272.     set LanguageList = ^(LanguagesSupported, 1)
  273.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  274.         Return STATUS_NOLANGUAGE
  275.     endif
  276.  
  277.     set-subst LF = "\n"
  278.  
  279.     read-syms GeneralConstants
  280.     read-syms FileConstants
  281.  
  282.     ;read-syms DialogConstants$(!STF_LANGUAGE)
  283.     ifstr(i) $(!NTN_Origination) == "NCPA"
  284.         set Continue = "OK"
  285.     endif
  286.     read-syms FileConstants$(!STF_LANGUAGE)
  287.  
  288.     detect date
  289.  
  290.     set-title $(FunctionTitle)
  291.  
  292.     set to   = Begin
  293.     set from = Begin
  294.  
  295. ;    Shell $(UtilityInf), GetBusTypeNum
  296. ;    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  297. ;       goto ShellCodeError
  298. ;    endif
  299. ;    Set PlatformList = ^(PlatformsSupported, 1)
  300. ;    Set MachineType = *($(PlatformList), $($R1))
  301.      Set MachineType = $(!STF_BUSTYPE)
  302.  
  303.     set CommonStatus = STATUS_SUCCESSFUL
  304.  
  305.     EndWait
  306.  
  307. Begin = +
  308.     Set ActivateDetection = FALSE
  309.  
  310.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  311.         set StartLabel = removeadapter
  312.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  313.         set StartLabel = UpgradeSoftware
  314.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  315.         set StartLabel = bindingadapter
  316.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  317.         set ActivateDetection = TRUE
  318.         set StartLabel = configureadapter
  319.  
  320.         ifstr(i) $(MachineType) == "MCA"
  321.             Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  322.                 Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  323.             else
  324.                 Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_HARDWARE
  325.             endif
  326.             set Error = $($R0)
  327.             set from = end
  328.             set to = end
  329.             goto nonfatalinfo
  330.         endif
  331.  
  332.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  333.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  334.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  335.                 goto ShellCodeError
  336.             endif
  337.             set Error = $($R0)
  338.             set from = end
  339.             set to = end
  340.             goto nonfatalinfo
  341.         endif
  342.     else
  343.         set ActivateDetection = TRUE
  344.         set StartLabel = installadapter
  345.         set OEM_ABANDON_OPTIONS = {}
  346.         set OEM_ABANDON_SOFTWARE = FALSE
  347.         set OEM_ABANDON_ON = TRUE
  348.     endif
  349.  
  350.     Set DetectedCard = FALSE
  351.  
  352.     Ifstr(i) $(ActivateDetection) != TRUE
  353.         Goto $(StartLabel)
  354.     Endif
  355.  
  356.     ifstr(i) $(MachineType) == "MCA"
  357.         goto CheckForMCA
  358.     endif
  359.  
  360.     set IRQValue = *($(IRQList), 2)
  361.     set IOAddrValue = *($(IOAddrList), 1)
  362.     set IOReadyValue = *($(IOReadyList), 2)
  363.     set TransceiverValue = *($(TransceiverList), 4)
  364.  
  365.     Ifstr(i) $(!STF_NCDETECT) == YES
  366.         Ifstr(i) $(!STF_NCOPTION) == $(Option)
  367.            Set DetectedCard = TRUE
  368.         Endif
  369.     Endif
  370.  
  371.     Shell "" DebugConfiguration "After parameter querying"
  372.  
  373.     Set from = $(fatal)
  374.     Set to = $(fatal)
  375.     Goto $(StartLabel)
  376.  
  377. installadapter = +
  378.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  379.  
  380.     Ifstr $(KeyProduct) != $(KeyNull)
  381.         CloseRegKey $(KeyProduct)
  382.  
  383.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  384.            Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  385.                $(ProductVersion)
  386.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  387.                goto ShellCodeError
  388.            endif
  389.  
  390.            goto end
  391.         else
  392.            Shell $(UtilityInf), CardExistedDlg
  393.  
  394.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  395.                goto ShellCodeError
  396.            endif
  397.  
  398.            ifstr(i) $($R1) != "OK"
  399.                goto end
  400.            endif
  401.            set OldVersionExisted = $(TRUE)
  402.         endif
  403.     endif
  404.  
  405. ;    Ifstr(i) $(DetectedCard) != TRUE
  406.         Goto adaptersetup
  407. ;    Endif
  408.  
  409.  
  410. CheckForMCA = +
  411.     StartWait
  412.     Shell $(UtilityInf), MCAFindBus, $(MCA_1BYTE), $(MCA_2BYTE)
  413.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  414.         goto CheckForISA
  415.     endif
  416.     ifstr $($R0) != "NO_ERROR"
  417.         goto CheckForISA
  418.     endif
  419.     ifstr(i) $($R1) == {}
  420.         set Error = $(CANNOT_FIND_ANY_CARD)
  421.         set CommonStatus = USER_CANCEL
  422.         set from = "end"
  423.         goto nonfatal
  424.     endif
  425.     set AdapterList = $($R1)
  426.     goto skipoptions
  427.  
  428. CheckForISA = +
  429.     Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  430.     EndWait
  431.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  432.         Goto adaptersetup
  433.     Endif
  434.     Set DetectedParams = $($R1)
  435.     Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  436.  
  437.     goto adaptersetup
  438.  
  439. configureadapter = +
  440.     Ifstr $(KeyProduct) == $(KeyNull)
  441.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  442.         Ifstr $(KeyProduct) == $(KeyNull)
  443.             set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  444.             goto fatalregistry
  445.         Endif
  446.     Endif
  447.     GetRegValue $(KeyProduct),"ServiceName", AdapterServiceKey
  448.     set AdapterServiceKey = *($(AdapterServiceKey),4)
  449.  
  450.     Shell $(UtilityInf) FindService, $(KeyProduct)
  451.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  452.         Goto ShellCodeError
  453.     Endif
  454.     Ifstr(i) $($R0) != NO_ERROR
  455.         Goto fatalregistry
  456.     endif
  457.  
  458.     Set KeyParameters = $($R2)
  459.  
  460.     CloseRegKey $($R1)
  461.  
  462.     Ifstr $(KeyParameters) == $(KeyNull)
  463.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  464.         goto fatalregistry
  465.     endif
  466.  
  467.     set OldVersionExisted = $(TRUE)
  468.  
  469.     set ValueName = ""
  470.     set ValueData = ""
  471.     set ValueStr  = ""
  472.     set ValueList = {}
  473.  
  474. adaptersetup = +
  475.  
  476.     Shell $(ParamInf) Param_ParameterConfidence
  477.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  478.         Goto adapteroptions
  479.     Endif
  480.  
  481.     Ifstr(i) $(DetectedCard) == TRUE
  482.         Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
  483.             Goto adapterverify
  484.         Endif
  485.     Endif
  486.  
  487. adapteroptions = +
  488.     Set from = adapteroptions
  489.     ;read-syms FileDependentDlg$(!STF_LANGUAGE)
  490.  
  491. adapterverify = +
  492.      Goto skipoptions
  493.  
  494. ;    Ifstr(i) $(DetectedCard) != TRUE
  495. ;       Goto skipoptions
  496. ;    Endif
  497. ;
  498. ;    Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  499. ;    Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  500. ;       Goto skipoptions
  501. ;    Endif
  502. ;
  503. ;    Set from = adapteroptions
  504. ;    Set to = skipoptions
  505. ;    Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  506. ;    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  507. ;       goto ShellCodeError
  508. ;    endif
  509. ;    set Error = $($R0)
  510. ;    Goto Warning
  511.  
  512. skipoptions = +
  513.     ifint $(OldVersionExisted) == $(TRUE)
  514.         ifstr(i) $(!NTN_InstallMode) == configure
  515.             goto writeparameters
  516.         endif
  517.     endif
  518.     StartWait
  519.     ifint $(OldVersionExisted) == $(FALSE)
  520.         ifstr(i) $(!NTN_InstallMode) == "install"
  521.            Ifstr(i) $(DoCopy) == "YES"
  522.  
  523.               Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  524.  
  525.               Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  526.                   Goto ShellCodeError
  527.               Else-Ifstr(i) $($R0) == STATUS_FAILED
  528.                   Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  529.                   ifint $($ShellCode) != $(!SHELL_CODE_OK)
  530.                       goto ShellCodeError
  531.                   endif
  532.                   set Error = $($R0)
  533.                   Goto fatal
  534.               Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  535.                   Goto successful
  536.               Endif
  537.  
  538.               Set SrcDir = $($R1)
  539.  
  540.            Endif
  541.  
  542.            install "Install-Option"
  543.            ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  544.               Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  545.               ifint $($ShellCode) != $(!SHELL_CODE_OK)
  546.                   goto ShellCodeError
  547.               endif
  548.               set Error = $($R0)
  549.               goto fatal
  550.            endif
  551.         endif
  552.  
  553.         Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  554.             $(ProductSoftwareName), +
  555.             $(ProductSoftwareName), +
  556.             $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  557.             $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  558.             $(NetEventDLL)
  559.  
  560.         Set OEM_ABANDON_SOFTWARE = TRUE
  561.  
  562.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  563.             goto ShellCodeError
  564.         endif
  565.  
  566.         set RegistryErrorIndex = $($R0)
  567.         set KeyProduct      = $($R1)
  568.         Set SoftNetRulesKey = $($R2)
  569.         CloseRegKey $($R3)
  570.         CloseRegKey $($R4)
  571.         CloseRegKey $($R5)
  572.  
  573.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  574.             EndWait
  575.             CloseRegKey $(KeyProduct)
  576.             CloseRegKey $(SoftNetRulesKey)
  577.             goto fatalregistry
  578.         endif
  579.  
  580.         set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  581.                            {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  582.                            {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  583.                            {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  584.                            {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  585.                            {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  586.                            {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  587.  
  588.         Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  589.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  590.             goto ShellCodeError
  591.         endif
  592.  
  593.         set RegistryErrorIndex = $($R0)
  594.  
  595.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  596.             EndWait
  597.             CloseRegKey $(KeyProduct)
  598.             CloseRegKey $(SoftNetRulesKey)
  599.             goto fatalregistry
  600.         endif
  601.  
  602.         set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  603.                             {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  604.                             {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  605.                             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  606.                             {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  607.                             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  608.  
  609.         Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  610.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  611.             goto ShellCodeError
  612.         endif
  613.  
  614.         set RegistryErrorIndex = $($R0)
  615.  
  616.         CloseRegKey $(KeyProduct)
  617.         CloseRegKey $(SoftNetRulesKey)
  618.  
  619.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  620.             EndWait
  621.             goto fatalregistry
  622.         endif
  623.     endif
  624.  
  625.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  626.  
  627.     ifint $($R4) != -1
  628.         Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  629.     endif
  630.  
  631.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  632.         goto ShellCodeError
  633.     endif
  634.  
  635.     set RegistryErrorIndex = $($R0)
  636.  
  637.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  638.         EndWait
  639.         CloseRegKey $($R1)
  640.         CloseRegKey $($R2)
  641.         CloseRegKey $($R3)
  642.         goto fatalregistry
  643.     endif
  644.  
  645.     set KeyParameters = $($R3)
  646.     set KeyAdapterRules = $($R2)
  647.     set AdapterNumber = $($R4)
  648.  
  649.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  650.                        {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
  651.                        {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
  652.                        {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  653.                        {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  654.                        {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  655.  
  656.     set AdapterServiceKey = $($R5)
  657.  
  658.     Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  659.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  660.         goto ShellCodeError
  661.     endif
  662.  
  663.     CloseRegKey $($R1)
  664.  
  665.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  666.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  667.  
  668.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  669.                         {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  670.                         {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  671.                         {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  672.  
  673.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  674.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  675.         goto ShellCodeError
  676.     endif
  677.  
  678.     set RegistryErrorIndex = $($R0)
  679.  
  680.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  681.         EndWait
  682.         CloseRegKey $(KeyParameters)
  683.         CloseRegKey $(KeyAdapterRules)
  684.         goto fatalregistry
  685.     endif
  686.  
  687.     CloseRegKey $(KeyAdapterRules)
  688.  
  689.     goto writeparameters
  690.  
  691. writeparameters = +
  692.     Shell $(UtilityInf), GetBusTypeNum
  693.     set BusTypeNum = $($R1)
  694.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  695.         goto ShellCodeError
  696.     endif
  697.         Set IOAddrValue = *($(IOAddrValues), ~($(IOAddrList),$(IOAddrValue)))
  698.         Shell "" DebugConfiguration "Before Writing Parameters"
  699.         set NewValueList = {{Eid,$(NoTitle),$(!REG_VT_DWORD),0)}}
  700.  
  701.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  702.  
  703.     CloseRegKey $(KeyParameters)
  704.  
  705.     OpenRegKey $(!REG_H_LOCAL) "" $(OEMSetKeyName)"\"Adapters $(MAXIMUM_ALLOWED) OEMSetAdapterKey
  706.     ifstr $(OEMSetAdapterKey) == $(KeyNull)
  707.         CreateRegKey $(!REG_H_LOCAL) {$(OEMSetKeyName)"\"Adapters,0,GenericClass} "" +
  708.                      $(MAXIMUM_ALLOWED) "" OEMSetAdapterKey
  709.         ifstr $(OEMSetAdapterKey) == $(KeyNull)
  710.             Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegAdapterFailed
  711.             goto fatalregistry
  712.         endif
  713.     endif
  714.  
  715.     set NewValueList = {{$(OEMSetAdapterName),$(NoTitle), $(!REG_VT_SZ), $(Adapter)}}
  716.     Shell  $(UtilityInf), AddValueList, $(OEMSetAdapterKey), $(NewValueList)
  717.     CloseRegKey $(OEMSetAdapterKey)
  718.  
  719.     OpenRegKey $(!REG_H_LOCAL) "" $(OEMSetKeyName)"\"$(OEMSetAdapterName) $(MAXIMUM_ALLOWED) OEMSetAdapterKey
  720.     ifstr $(OEMSetAdapterKey) == $(KeyNull)
  721.         CreateRegKey $(!REG_H_LOCAL) {$(OEMSetKeyName)"\"$(OEMSetAdapterName),0,GenericClass} "" +
  722.                      $(MAXIMUM_ALLOWED) "" OEMSetAdapterKey
  723.         ifstr $(OEMSetAdapterKey) == $(KeyNull)
  724.             Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegOEMFailed
  725.             goto fatalregistry
  726.         endif
  727.     endif
  728.     set NewValueList = {{Configure,$(NoTitle),$(!REG_VT_SZ),$(Configure)},+
  729.                         {Detect,$(NoTitle),$(!REG_VT_SZ),$(Detect)},+
  730.                         {Diagnose,$(NoTitle),$(!REG_VT_SZ),$(Diagnose)},+
  731.                         {DLL,$(NoTitle),$(!REG_VT_SZ),$(DLL)},+
  732.                         {Help,$(NoTitle),$(!REG_VT_SZ),$(Help)},+
  733.                         {RegistryKey,$(NoTitle),$(!REG_VT_SZ),$(RegistryKey)},+
  734.                         {AdapterDescription,$(NoTitle),$(!REG_VT_SZ),$(AdapterDescription)},+
  735.                         {InstallAnyway,$(NoTitle),$(!REG_VT_SZ),$(InstallAnyway)},+
  736.                         {DeviceExist,$(NoTitle),$(!REG_VT_SZ),$(DeviceExist)},+
  737.                         {Summary,$(NoTitle),$(!REG_VT_SZ),$(Summary)}}
  738.     Shell  $(UtilityInf), AddValueList, $(OEMSetAdapterKey), $(NewValueList)
  739.     CloseRegKey $(OEMSetAdapterKey)
  740.  
  741.     OpenRegKey $(!REG_H_LOCAL) "" $(OEMSetKeyName)"\"$(OEMSetAdapterName)"\"$(OEMSetParameters) $(MAXIMUM_ALLOWED) OEMSetAdapterKey
  742.     ifstr $(OEMSetAdapterKey) == $(KeyNull)
  743.         CreateRegKey $(!REG_H_LOCAL) {$(OEMSetKeyName)"\"$(OEMSetAdapterName)"\"$(OEMSetParameters),0,GenericClass} "" +
  744.                      $(MAXIMUM_ALLOWED) "" OEMSetAdapterKey
  745.         ifstr $(OEMSetAdapterKey) == $(KeyNull)
  746.             Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegOEMFailed
  747.             goto fatalregistry
  748.         endif
  749.     endif
  750.     set NewValueList = { +
  751.                         {BusNumber,$(NoTitle),$(!REG_VT_SZ),$(BusNumber)}, +
  752.                         {BusType,$(NoTitle),$(!REG_VT_SZ),$(BusType)}, +
  753.                         {BusTypeLocal,$(NoTitle),$(!REG_VT_SZ),$(BusTypeLocal)}, +
  754.                         {Eid,$(NoTitle),$(!REG_VT_SZ),$(Eid)}, +
  755.                         {Fifo,$(NoTitle),$(!REG_VT_SZ),$(Fifo)}, +
  756.                         {ForceDpx,$(NoTitle),$(!REG_VT_SZ),$(ForceDpx)}, +
  757.                         {MapRegisters,$(NoTitle),$(!REG_VT_SZ),$(MapRegisters)}, +
  758.                         {MediaType,$(NoTitle),$(!REG_VT_SZ),$(MediaType)}, +
  759.                         {MsPciScan,$(NoTitle),$(!REG_VT_SZ),$(MsPciScan)}, +
  760.                         {NumCoalesce,$(NoTitle),$(!REG_VT_SZ),$(NumCoalesce)}, +
  761.                         {NumRfd,$(NoTitle),$(!REG_VT_SZ),$(NumRfd)}, +
  762.                         {NumTbd,$(NoTitle),$(!REG_VT_SZ),$(NumTbd)}, +
  763.                         {NumTbdPerTcb,$(NoTitle),$(!REG_VT_SZ),$(NumTbdPerTcb)}, +
  764.                         {NumTcb,$(NoTitle),$(!REG_VT_SZ),$(NumTcb)}, +
  765.                         {Off,$(NoTitle),$(!REG_VT_SZ),$(Off)}, +
  766.                         {On,$(NoTitle),$(!REG_VT_SZ),$(On)}, +
  767.                         {RxDmaCount,$(NoTitle),$(!REG_VT_SZ),$(RxDmaCount)}, +
  768.                         {RxFifo,$(NoTitle),$(!REG_VT_SZ),$(RxFifo)}, +
  769.                         {Slot,$(NoTitle),$(!REG_VT_SZ),$(Slot)}, +
  770.                         {Speed,$(NoTitle),$(!REG_VT_SZ),$(Speed)}, +
  771.                         {Threshold,$(NoTitle),$(!REG_VT_SZ),$(Threshold)}, +
  772.                         {TxDmaCount,$(NoTitle),$(!REG_VT_SZ),$(TxDmaCount)}, +
  773.                         {TxFifo,$(NoTitle),$(!REG_VT_SZ),$(TxFifo)}, +
  774.                         {Ucode,$(NoTitle),$(!REG_VT_SZ),$(Ucode)}, +
  775.                         {UnderrunRetry,$(NoTitle),$(!REG_VT_SZ),$(UnderrunRetry)}, +
  776.                         {PerfOptims,$(NoTitle),$(!REG_VT_SZ),$(PerfOptims)}, +
  777.                         {UcodeSW,$(NoTitle),$(!REG_VT_SZ),$(UcodeSW)}, +
  778.                         {Adaptive_IFS,$(NoTitle),$(!REG_VT_SZ),$(Adaptive_IFS)}, +
  779.                         {Txmitwait,$(NoTitle),$(!REG_VT_SZ),$(Txmitwait)}, +
  780.                        }
  781.  
  782.         Shell  $(UtilityInf), AddValueList, $(OEMSetAdapterKey), $(NewValueList)
  783.         CloseRegKey $(OEMSetAdapterKey)
  784.  
  785.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  786.         goto ShellCodeError
  787.     endif
  788.  
  789.     set RegistryErrorIndex = $($R0)
  790.  
  791.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  792.         goto fatalregistry
  793.     endif
  794.  
  795.     EndWait
  796.  
  797.     RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\$(ExeName).EXE $(AdapterServiceKey)
  798.     Ifstr(i) $(!NTN_InstallMode) != configure
  799.         ifint $(ExitCode) >= 2
  800.             set CommonStatus = STATUS_USERCANCEL
  801.             goto abandon
  802.         endif
  803.     else
  804.         ifint $(ExitCode) == 0
  805.             set CommonStatus = STATUS_NO_EFFECT
  806.         endif
  807.         ifint $(ExitCode) == 2
  808.             set CommonStatus = STATUS_NO_EFFECT
  809.         endif
  810.     endif
  811.     goto successful
  812.  
  813. bindingadapter =+
  814.     set Error = "Binding: Sorry, not yet implemented."
  815.     goto fatal
  816.  
  817. removeadapter = +
  818.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  819.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  820.               $(ProductSoftwareName)
  821.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  822.             goto ShellCodeError
  823.         endif
  824.  
  825.         set RegistryErrorIndex = $($R0)
  826.  
  827.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  828.             goto fatalregistry
  829.         endif
  830.     else
  831.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  832.               $(ProductSoftwareName), $(!NTN_RegBase)
  833.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  834.             goto ShellCodeError
  835.         endif
  836.  
  837.         set RegistryErrorIndex = $($R0)
  838.  
  839.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  840.             goto fatalregistry
  841.         endif
  842.     endif
  843.  
  844.     goto end
  845.  
  846. UpgradeSoftware = +
  847.      OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  848.      Ifstr $(KeyProduct) != $(KeyNull)
  849.         Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  850.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  851.             Debug-Output "ShellCode error"
  852.             goto ShellCodeError
  853.         endif
  854.         set !UG_Filename = $($R0)
  855.         install "Install-Update"
  856.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  857.             goto fatal
  858.         endif
  859.         SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  860.         SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  861.         CloseRegKey $(KeyProduct)
  862.     else
  863.         goto fatalregistry
  864.     endif
  865.  
  866.     goto end
  867.  
  868. successful = +
  869.     goto end
  870.  
  871. abandon = +
  872.     ForListDo $(OEM_ABANDON_OPTIONS)
  873.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  874.             $(ProductSoftwareName), $($)
  875.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  876.             goto ShellCodeError
  877.         endif
  878.  
  879.         set RegistryErrorIndex = $($R0)
  880.  
  881.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  882.             goto fatalregistry
  883.         endif
  884.     EndForListDo
  885.  
  886.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  887.         ; Remove Software Component
  888.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  889.             $(ProductSoftwareName), FALSE
  890.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  891.             goto ShellCodeError
  892.         endif
  893.  
  894.         set RegistryErrorIndex = $($R0)
  895.  
  896.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  897.             goto fatalregistry
  898.         endif
  899.     endif
  900.  
  901.     goto end
  902.  
  903. warning = +
  904.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  905.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  906.         goto ShellCodeError
  907.     endif
  908.     ifstr(i) $($R1) == "OK"
  909.         goto $(to)
  910.     else-ifstr(i) $($R1) == "CANCEL"
  911.         goto $(from)
  912.     else
  913.         goto "end"
  914.     endif
  915.  
  916. nonfatalinfo = +
  917.     Set Severity = STATUS
  918.     Set CommonStatus = STATUS_USERCANCEL
  919.     goto nonfatalmsg
  920.  
  921. nonfatal = +
  922.     Set Severity = NONFATAL
  923.     goto nonfatalmsg
  924.  
  925. nonfatalmsg = +
  926.     ifstr(i) $(Error) == ""
  927.         Set Severity = NONFATAL
  928.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  929.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  930.             goto ShellCodeError
  931.         endif
  932.         set Error = $($R0)
  933.     endif
  934.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  935.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  936.         goto ShellCodeError
  937.     endif
  938.     ifstr(i) $($R1) == "OK"
  939.         goto $(from)
  940.     else
  941.         goto "end"
  942.     endif
  943.  
  944. fatalregistry = +
  945.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  946.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  947.         goto ShellCodeError
  948.     endif
  949.     set Error = $($R0)
  950.     goto fatal
  951.  
  952. fataldetect = +
  953.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  954.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  955.         goto ShellCodeError
  956.     endif
  957.     set Error = $($R0)
  958.     Goto fatal
  959.  
  960. fatal = +
  961.     ifstr(i) $(Error) == ""
  962.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  963.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  964.             goto ShellCodeError
  965.         endif
  966.         set Error = $($R0)
  967.     endif
  968.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  969.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  970.         goto ShellCodeError
  971.     endif
  972.  
  973.     goto setfailed
  974.  
  975. ShellCodeError = +
  976.     set DlgType      = "MessageBox"
  977.     set STF_MB_TITLE = "Error: "$(FunctionTitle)
  978.     set STF_MB_TEXT  = "Shell Code Error"
  979.     set STF_MB_TYPE  = 1
  980.     set STF_MB_ICON  = 3
  981.     set STF_MB_DEF   = 1
  982.     ui start "Error Message"
  983.     goto setfailed
  984.  
  985. setfailed = +
  986.     set CommonStatus = STATUS_FAILED
  987.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  988.         set OEM_ABANDON_ON = FALSE
  989.         goto abandon
  990.     endif
  991.     goto end
  992.  
  993. end = +
  994.     goto term
  995.  
  996. term = +
  997.     Return $(CommonStatus)
  998.  
  999. [DebugConfiguration]
  1000.  
  1001. ;    Set InfName = "OEMNADIN.INF"
  1002.  
  1003.     return
  1004.  
  1005. [Install-Option]
  1006.     set STF_VITAL = ""
  1007.  
  1008.     ifstr(i) $(AddCopy) == "YES"
  1009.  
  1010.     AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1011.     AddSectionFilesToCopyList Files-OEM $(SrcDir)  $(!STF_WINDOWSSYSPATH)
  1012.     AddSectionFilesToCopyList Files-OEM-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1013.  
  1014.     endif
  1015.  
  1016.     ifstr(i) $(DoCopy) == "YES"
  1017.         set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1018.         CopyFilesInCopyList
  1019.     else
  1020.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(ExeName).EXE $(!STF_WINDOWSSYSPATH)\$(ExeName).EXE
  1021.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(ExeName).CPL $(!STF_WINDOWSSYSPATH)\$(ExeName).CPL
  1022.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(DiagName).DLL $(!STF_WINDOWSSYSPATH)\$(DiagName).DLL
  1023.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(KddName).DLL $(!STF_WINDOWSSYSPATH)\$(KddName).DLL
  1024.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\MFC30.DLL $(!STF_WINDOWSSYSPATH)\MFC30.DLL
  1025.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\MSVCRT20.DLL $(!STF_WINDOWSSYSPATH)\MSVCRT20.DLL
  1026.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(HelpName).HLP $(!STF_WINDOWSSYSPATH)\$(HelpName).HLP
  1027.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\CTL3D32.DLL $(!STF_WINDOWSSYSPATH)\CTL3D32.DLL
  1028.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(PciName).DLL $(!STF_WINDOWSSYSPATH)\$(PciName).DLL
  1029.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(MainDiag).DLL $(!STF_WINDOWSSYSPATH)\$(MainDiag).DLL
  1030.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(DiagDrvr).SYS $(!STF_WINDOWSSYSPATH)\DRIVERS\$(DiagDrvr).SYS
  1031.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(DiagName).SYS $(!STF_WINDOWSSYSPATH)\DRIVERS\$(DiagName).SYS
  1032.         LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\$(KddName).SYS $(!STF_WINDOWSSYSPATH)\DRIVERS\$(KddName).SYS
  1033.     endif
  1034.  
  1035.     Exit
  1036.  
  1037. [Install-Update]
  1038.     set STF_VITAL        = ""
  1039.     set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1040.  
  1041.     AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1042.     AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1043.     AddSectionFilesToCopyList Files-OEM $(SrcDir)  $(!STF_WINDOWSSYSPATH)
  1044.     AddSectionFilesToCopyList Files-OEM-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1045.  
  1046.     set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1047.     CopyFilesInCopyList
  1048.  
  1049.     exit
  1050.